package com.yhstudio.designPattern.iterator;

import java.util.ArrayList;
import java.util.List;

public class BookShelf implements AggregateIterator {

    private List<Book> bookList = new ArrayList<Book>(); // 书籍集合

    // 向书籍集合添加图书
    public void appendBook(Book book) {
        this.bookList.add(book);
    }
    // 从书籍集合取出图书
    public Book getBookAt(int key) {
        return this.bookList.get(key);
    }
    // 返回当前书籍集合的长度
    public int size() {
        return this.bookList.size();
    }
    // 返回创建的书架类的迭代器实例
    @Override
    public Iterator createIterator() {
        return new BookShelfIterator(this);
    }
}
